//============================================================================
// Name        : TestEstructurado.cpp
// Author      : Daniel Spacek
// Version     :
// Copyright   :
// Description : Programa de prueba del descompresor estructurado
//============================================================================

#include <iostream>
#include <fstream>
#include "types"
#include "DescompresorEstructurado"

using namespace std;

int main()
{


    ifstream is("salidaCompEstruct.txt");

    ibitstream bitwiseFile(&is);

    DescompresorEstructurado e(&bitwiseFile);

    uchar a[10];
    int size;

    size = e.descomprimir(a,7); // Si el segundo parametro es mayor a 9, va a salir por el try-catch (EOF) <-- TODO: de hecho vuela todo por los aires..

    cout<<"Size: "<<size<<" Salida para mtf: "<<int(a[0])<<", "<<int(a[1])<<", "<<int(a[2])<<", "<<int(a[3])<<", "<<int(a[4])<<", "<<int(a[5])<<", "<<int(a[6])<<", "<<int(a[7])<<", "<<int(a[8])<<endl;

    //Salida Esperada a las 16pm      :114,100,1,1,99,0,0,0
    //Salida a las 11am               :115,2,0,31,2,28,31,19,6 //emite uno de mas!!
    //Salida a las 12:34am            :114,14,11,21,-1,0,0,-1,-1 //emite uno de mas!! y agrega un segmentation fault..
    ////Salida a las 17:04pm      :114,100,1,1,99,0,0,0,-127 //ya casi.. falta sacar ese -127 y este error: *** glibc detected *** ./TestDescEstr: munmap_chunk(): invalid pointer: 0x086bf4c8 ***


    return 0;
}
